home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 November: Tool Chest / Dev.CD Nov 00 TC Disk 2.toast / pc / sample code / quicktime / streaming / qtspacketizerreassembler / componentvideortp / headers / rtpmpcomponentvideo.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-09-28  |  2.7 KB  |  95 lines

  1. /*
  2.     File:        RTPMPComponentVideo.h
  3.  
  4.     Contains:    Declarations for Component Video RTPMediaPacketizer
  5.     
  6.     Copyright:    © 1997-1999 by Apple Computer, Inc., all rights reserved.
  7.  
  8. */
  9.  
  10. #ifndef __RTPMPCOMPONENTVIDEO__
  11. #define __RTPMPCOMPONENTVIDEO__
  12.  
  13. #pragma once
  14.  
  15.  
  16.  
  17. /* ---------------------------------------------------------------------------
  18.  *        H E A D E R S
  19.  * ---------------------------------------------------------------------------
  20.  */
  21.  
  22. #include <QTStreamingComponents.h>
  23. #include "ComponentVideoRTP.h"
  24.  
  25.  
  26.  
  27. /* ---------------------------------------------------------------------------
  28.  *        D A T A T Y P E S
  29.  * ---------------------------------------------------------------------------
  30.  *
  31.  *    An RTPMPComponentVideoInstanceData structure stores instance variables for
  32.  *    a Component Video RTPMediaPacketizer instance.  The structure declares the
  33.  *    following fields:
  34.  *    
  35.  *        itself                        the RTPMediaPacketizer instance that
  36.  *                                    maintains this data structure
  37.  *        
  38.  *        itsBase                        the RTPMediaPacketizer to which the
  39.  *                                    instance delegates calls
  40.  *        
  41.  *        itsFinalDerivation            the RTPMediaPacketizer instance to which
  42.  *                                    the instance targets calls to itself
  43.  *        
  44.  *        itsInitialized                true when the instance has initialized the
  45.  *                                    remaining fields
  46.  *        
  47.  *        itsSampleDescriptionSeed    the seed of the SampleDescription the
  48.  *                                    instance is using for sample data
  49.  *        
  50.  *        itsMediaTimeScale            the TimeScale of the source sample data
  51.  *        
  52.  *        itsMediaTimeBase            the TimeBase passed to RTPMPSetTimeBase()
  53.  *        
  54.  *        itsFrameDataSize            number of octets in one frame of sample
  55.  *                                    data
  56.  *        
  57.  *        itsPayloadDataSize            number of octets of sample data the
  58.  *                                    instance will include in most payloads
  59.  *        
  60.  *        itsPacketBuilder            the RTPMPPacketBuilder the instance uses
  61.  *                                    to contruct network packets
  62.  *        
  63.  *        itsPacketSizeLimit            the maximum allowable size, in octets, of
  64.  *                                    payloads the instance may contruct
  65.  *        
  66.  *        itsPacketDurationLimit        the maximum allowable duration of sample
  67.  *                                    the instance may encapsulate in a single
  68.  *                                    payload
  69.  *        
  70.  *        itsPayloadHeader            precomputed values for header the instance
  71.  *                                    includes with each payload
  72.  *        
  73.  */
  74.  
  75. typedef struct
  76. {
  77.     RTPMediaPacketizer        itself;
  78.     RTPMediaPacketizer        itsBase;
  79.     RTPMediaPacketizer        itsFinalDerivation;
  80.     Boolean                    itsInitialized;
  81.     UInt32                    itsSampleDescriptionSeed;
  82.     TimeScale                itsMediaTimeScale;
  83.     TimeBase                itsMediaTimeBase;
  84.     UInt32                    itsFrameDataSize;
  85.     UInt32                    itsPayloadDataSize;
  86.     RTPPacketBuilder        itsPacketBuilder;
  87.     UInt32                    itsPacketSizeLimit;
  88.     UInt32                    itsPacketDurationLimit;
  89.     ComponentVideoPayload    itsPayloadHeader;
  90. } RTPMPComponentVideoInstanceData;
  91.  
  92.  
  93.  
  94. #endif /* __RTPMPCOMPONENTVIDEO__ */
  95.